'''
@property装饰器
    可以将一个方法的调用方式变成【属性调用】
    主要用于帮助我们处理属性的读操作、写操作。对于某个属性，我们可以直接通过
        emp1.salary = 3000
    如上的操作读操作、写操作。但是这种做法不安全。比如我们需要限制薪水范围，这时候就需要使用装饰器property来处理。
'''


class Employee:

    def __init__(self, name, age, salary):
        self.__name = name
        self.__age = age
        self.__salary = salary

    @property
    def basic_info(self):
        print('=====')
        print('{name}的年龄为：{age}'.format(name=self.__name, age=self.__age))

    @basic_info.setter
    def basic_info(self, name, age):
        self.__name = name
        self.__age = age

    @property
    def salary(self):
        print('工资为：{0}'.format(self.__salary))
        return self.__salary

    @salary.setter
    def salary(self, salary):
        if 0 < salary < 1000000:
            self.__salary = salary
        else:
            print('您输入的薪资不符合规则')


emp = Employee('Jinqiu', 28, 15000)
emp.salary = 500000
emp.salary

emp.basic_info
emp.basic_info = 'jiajun', 27  # 多个参数要怎么传？

emp.basic_info
